Loci: Simple Thread-Locality for Java
نویسندگان
چکیده
This paper presents a simple type system for thread-local data in Java. Classes and types are annotated to express thread-locality and unintended leaks are detected at compile-time. The system, called Loci, is minimal, modular and compatible with legacy code. The only change to the language is the addition of two new metadata annotations. We implemented Loci as an Eclipse plug-in and used it to evaluate our design on a number of benchmarks. We found that Loci is compatible with how Java programs are written and that the annotation overhead is light thanks to a judicious choice of defaults.
منابع مشابه
Locality Reasoning of Multithreaded Programs through Type Inference
In multithreaded object-oriented programs, locality refers to the dynamic scoping relation among threads and objects in a potentially shared-memory context. This paper calls for type-theoretic investigations into two forms of locality – thread locality and aggregate locality – and proposes a unified type inference algorithm to reason about them over unannotated real-world Java programs.
متن کاملMultithreaded Collision Detection in Java
This paper examines the implementation of a multithreaded algorithm for doing collision detection and processing in Java. It examines details of an efficient implementation in Java for single threading, then describes the methods used to implement multithreading. The method described takes advantage of the spatial locality of collisional dynamics while efficiently dealing with the requirements ...
متن کاملJava Locks: Analysis and Acceleration by
This dissertation presents several techniques to accelerate Java locks based on the analyses of their behavior from various viewpoints. Ten years have passed since Java was announced, and now the language has come to be used in various fields including large-scale Web services. To make such applications practical, performance improvements for the Java execution environments are indispensable. I...
متن کاملThe abc Group Racer : Effective Race Detection Using AspectJ
Programming errors occur frequently in large software systems, and even more so if these systems are concurrent. In the past researchers have developed specialized programs to aid programmers detecting concurrent programming errors such as deadlocks, livelocks, starvation and data races. In this work we propose a language extension to the aspect-oriented programming language AspectJ, in the for...
متن کاملOCTET: Practical Concurrency Control for Dynamic Analyses and Systems
Parallel programming is essential for reaping the benefits of parallel hardware, but it is notoriously difficult to develop and debug reliable, scalable software systems. One key challenge is that modern languages and systems provide poor support for ensuring concurrency correctness properties—such as atomicity, sequential consistency, and multithreaded determinism—because all existing approach...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009